The present invention relates to a motor control device which determines a command value of a two-phase current in dq coordinates of a motor, and controls the motor on the basis of the command value.
Also, the present invention relates to a motor control device which carries out dead time control which simultaneously turns off upper switching elements and lower switching elements of a driving circuit for driving the motor.
An electric power steering apparatus which transmits a driving force generated by a motor to a steering mechanism to assist in steering is known. The electric power steering apparatus includes a torque sensor which detects a steering torque applied to a steering wheel, and a motor control device which controls the motor on the basis of the steering torque detected by the torque sensor.
As the motor, for example, a three-phase DC brushless motor is applied. The motor control device carries out sinusoidal driving which applies a voltage which varies sinusoidally to each phase of a stator, on the basis of the electric angle of a rotor. More specifically, for example, the motor control device sets a command value of a two-phase current in dq coordinates, i.e., a d-axis current command value and a q-axis current command value, on the basis of the steering torque detected by the torque sensor. Moreover, the motor control device detects a d-axis current and a q-axis current which actually flows through the motor, obtains deviations of the d-axis current and the q-axis current concerning the respective command values, and calculates a d-axis voltage command value Vd and a q-axis voltage command value Vq corresponding to the deviations, respectively. Then, the motor control device converts the d-axis voltage command value Vd and the q-axis voltage command value Vq to three-phase (U-phase, V-phase, and W-phase) voltage values, and applies the voltages with these values to the phase of the motors, respectively.
In a low-and-middle speed rotation region, a required torque can be generated from the motor by setting the d-axis current command value to zero while setting the q-axis current command value to a value corresponding to the steering torque. However, in a high speed rotation region, an enough output (torque) of the motor is not generated since a back electromotive force is generated. In order to increase the output of the motor, the d-axis current command value is set to a significant value other than zero, and the magnetic-flux weakening control, which applies a current in a direction in which the magnetic flux on the d-axis is weakened, is carried out.
On the other hand, in order to set the voltage of each phase to a sinusoidal wave, it is necessary to set the amplitude of each phase voltage to less than half of the a source voltage Ed, and it is necessary that the following Expression (P1) is satisfied concerning a d-axis voltage Vd and a q-axis voltage Vq (WO2006/109809).√{square root over ((Vd2+Vq2))}≦Ed√{square root over (3)}/2√{square root over (2)}  (P1)
Accordingly, depending on the d-axis current command value and the q-axis current command value, the d-axis voltage Vd and the q-axis voltage Vq may not satisfy the condition of the above Expression (P1), and thus the sinusoidal driving may become impossible. For this reason, vibration is generated in the motor, and this vibration is transmitted to a steering wheel via the steering mechanism. As a result, the vibration leads to aggravation of a steering feeling.
Therefore, in WO2006/109809, the q-axis voltage command value Vq is limited so that the condition of the above Expression (P1) is satisfied.
A driving current is supplied to the motor from a driving circuit constituted by an inverter circuit. The driving circuit includes three series circuits so as to correspond to a U-phase, a V-phase, and a W-phase, respectively. Each of the series circuits has an upper switching element and a lower switching. The series circuits are connected in parallel to a power source (battery). Also, each of U-phase, V-phase, and W-phase armature windings of the motor is connected between the upper switching element and the lower switching element in each of the three series circuits.
The motor control device applies a PWM (Pulse Width Modulation) control signal to the driving circuit, and turns on/off the upper switching element and the lower switching element in each of the three series circuits by the PWM control. Also, as the duty ratio of a PWM control signal supplied to the upper switching element is properly controlled according to voltage command values, U-phase, V-phase, and W-phase voltages change sinusoidally such that the sinusoidal driving is carried out.
When the PWM driving is carried out, for the purpose of preventing short-circuiting when ON/OFF of the upper switching element and the lower switching element are switched, dead time during which both the switching elements are turned off temporarily is set (JP-A-2006-352957). This is called as the dead time control. For this dead time control, voltages to be applied to the U-phase, V-phase, and W-phase become lower than the command values.
In this case, by the action of a feedback loop including a PI (Proportional Integration) control unit, etc, the d-axis voltage command value and the q-axis voltage command value are increased, and a voltage drop resulting from the dead time control is corrected. As a result, there is a fear that the condition of the above Expression (P1) is not satisfied, and thereby, the sinusoidal driving can not be carried out. For this reason, vibration is generated in the motor, and this vibration is transmitted to the steering wheel via the steering mechanism, which leads to aggravation of a steering feeling.
Meanwhile, even in WO2006/109809, the problem about the vibration of the motor cannot also be solved.
That is, the d-axis voltage command value and the q-axis voltage command value are increased, and consequently, a situation in which the q-axis voltage command value is limited is easily brought about.
In the situation in which the q-axis voltage command value is limited, a q-axis current iq becomes variable. As a result, the torque generated by the motor may fluctuate, the vibration of the motor may be generated, and further a steering wheel may be vibrated. That is, in a high-speed rotation region and a high current value region where the q-axis voltage command value is limited, the q-axis current iq compulsorily becomes smaller than a targeted value if the q-axis voltage command value is limited. On the other hand, since the d-axis voltage includes a term having the q-axis current iq (refer to Expression (7) to be described later) and a term having the d-axis current id, the d-axis current id (≦0) will have an absolute value which is greater than a targeted value as the q-axis current iq becomes smaller. Also, as the absolute value of the d-axis current iq becomes larger, a margin is given to the q-axis voltage (refer to Expression (8) to be described later), and an element which can make large the q-axis current iq is generated. Accordingly, the motor control device will make large the q-axis current iq.
In the situation where the q-axis current command value is limited in this way, the d-axis current id and the q-axis current iq are determined while they interfere with each other on the dq axes. Also, the feedback loop will set voltage command values for correcting the d-axis current id and the q-axis current iq which are determined in the course of the loop to the d-axis current command value and the q-axis current command value. In this way, the q-axis current iq becomes variable, and minute vibration is generated in the motor, which will cause an uncomfortable steering feeling.